#ifndef RENDER_TEXTURE3D_H
#define RENDER_TEXTURE3D_H

#include <render/texture.h>
#include <graphics/material.h>

namespace yam3d
{
namespace graphics
{
    class Image3D;
}

namespace render
{

    class Texture3D : public Texture
    {
    public:
        Texture3D(graphics::Image3D* img, bool genMipMaps=true);
        virtual ~Texture3D();

        void bind(const graphics::SamplerState* samplerState, int samplerUnit ) const;

    private:
        bool m_hasMipMaps;

        Texture3D();
        Texture3D(const Texture3D&);
        Texture3D& operator=(const Texture3D&);
    };

}
}
#endif // TEXTURE3D_H
